package classes.players;

import game.Game;

import java.io.File;
import java.util.*;

import controllers.playerControlers.ActionsVerifier;
import controllers.playerControlers.PlayerController;
import classes.cards.IPlayerCard;
import classes.cards.PlayerCityCard;
import classes.city.City;
import classes.diseases.Disease;

public abstract class Player {

	private final String username;
	private final int turnIndex;
	private String rolename;
	private City location;
	private HashMap<String, IPlayerCard> hand;
	private File pawnImage;
	private static PlayerController playerControler;
	private static ActionsVerifier actionsVerifier;

	public Player(String username, int turnIndex) {
		this.username = username;
		this.turnIndex = turnIndex;
		this.rolename = getClass().getSimpleName();
		this.location = Game.getInstance().getCities().get("SAN FRANCISCO");
		this.hand = new HashMap<String, IPlayerCard>();
	}

	public HashMap<String, IPlayerCard> getHand() {
		return hand;
	}

	public City getLocation() {
		return location;
	}

	public void setLocation(City location) {
		this.location = location;
	}

	public String getUsername() {
		return username;
	}

	public int getTurnIndex() {
		return turnIndex;
	}
	
	public static ActionsVerifier getActionsVerifier() {
		return actionsVerifier;
	}
	
	public static PlayerController getPlayerControler() {
		return playerControler;
	}
}
